define(function(require) {
	var $ = require("jq.js");
	// 载入对话框
	var Dialog = require("pz_use_dialog.js");
	function VipCenterComment(commentBox) {
		var _this_ = this;
		// 保存评论区域
		this.commentBox = $(commentBox);
		// 获取产品序列
		this.productsItems = $("div.comment-products-item", commentBox);
		this.productsItems.on("click", function(e) {
			// 如果是展开关闭开关
			if ($(e.target.parentNode).hasClass("toggle-comment-btn")) {
				// 执行展开关闭功能
				_this_.toggleComBox(e.target.parentNode, this);
				//调整其他箭头方向
				$(e.target.parentNode).parent().parent().parent().siblings().find("a.toggle-comment-btn").find("s").toggleClass("toggle");
			};
			// 如果点击的是”点赞“
			if ($(e.target.parentNode).hasClass("zan-icon-box")) {
				// 执行”点赞“
				_this_.veryGood(e.target.parentNode);
			};
			// 如果点击的是“评价并继续”
			if ($(e.target).hasClass("submit-btn")) {
				// 执行评价
				_this_.submitComment(  e.target, this);
			};
		});
		// 默认显示
		this.comBoxItems = $("div.comment-products-item", commentBox);
		this.comBoxItems.each(function(){
			var toggleBtn=$(this).find("a.toggle-comment-btn");
			if(!toggleBtn.attr("data-comment-id")){
				_this_.toggleComBox(toggleBtn,this);
				return false;
			};
		});
	};
	VipCenterComment.prototype = {
		// 评价继续
		submitComment : function(submitBtn, curComBox) {
			// 防止重复提交
			if (!$(submitBtn).data("isSubmit")) {
				// 找到textarea
				var textarea = $("textarea", curComBox);
				var text = textarea.val();
				var good = $(curComBox).find(".zan-icon-box").attr("data-iszan");
				var isAllowGood = $(submitBtn).attr("data-allowgood");
				if(typeof(isAllowGood) == "undefined" || good =="no"){
					if (text.length < 10 || text.length > 100) {
						var d = new Dialog({
							type : "alert",
							width : 200,
							text : "提示信息",
							tipsText : "请输入10-100个字！",
							buttonSureText : "继续输入",
							callBack : function() { // 回调函数
								textarea.focus();
							},
							mask : 0.3,
							isDrag : true
							// 开起拖动
						});
						return false;
					};
				}
				// 如果输入内容正确提交
				this.submitTextArea(submitBtn, curComBox, textarea.val());
			};
		},
		// 提交评价内容
		submitTextArea : function(submitBtn, curComBox, text) {
			// 设置不让在重复提交
			$(submitBtn).data("isSubmit", true);
			$(submitBtn).text("数据提交中...");
			var dataID = $(submitBtn).attr("data-id");
			// 评价完成后执行
			this.commentComplete(submitBtn, curComBox, text);
		},
		// 评价完成
		commentComplete : function(submitBtn, curComBox, text) {
			var $this$=this;
			$.post("/front/remark/addCenterRemark.do",{random:Math.random,experience:text,articleId:$(submitBtn).attr("data-id"),orderId:$(submitBtn).attr("data-orderid"),good:$(curComBox).find(".zan-icon-box").attr("data-iszan")},function(result){
				$this$.successOk(result,curComBox,submitBtn);	
				$(submitBtn).attr("data-allowgood",true);
			},"json");
		},
		//评论成功促发
		successOk:function(retJson,curComBox,submitBtn){
			/**
			* msg:"评论发表成功!"
			* remarkId:2
			* ret: 1 / -1
			* */
			var $this$=this;
			if(retJson.ret==1){
				var $a = $("a.toggle-comment-btn span",curComBox).text("查看评论").parent().attr("data-comment-id",retJson.remarkId);
				//关闭评论框
				$("div.comment-area-wrap",curComBox).slideUp("slow",function(){
					$(this).remove();
					
					
					//展开下一评论框
					/*var nextCommentBox=$(curComBox).next().get(0);
					if(nextCommentBox){
						var toggleBtn=$(nextCommentBox).find("a.toggle-comment-btn");
						$this$.toggleComBox(toggleBtn,nextCommentBox);
					};*/
					$this$.findNotCommentBox($(curComBox).index());	
				});
				var fameValue = retJson.fameValue;
				
				if(fameValue){
					$a.parent().append("<span>(已获得"+fameValue+"名望值)</span>");
				}
				
			}else if(retJson.ret == -2){
				window.location.href = "/login.do?toUrl=/front/remark/addCenterRemark.do";
			}else{
				var d = new Dialog({
					type : "alert",
					text : "提示信息",
					tipsText : retJson.msg,
					buttonSureText : "好吧",
					mask : 0.3,
					isDrag : true
				});
				$("div.comment-area-wrap",curComBox).slideUp("slow",function(){
					$(this).remove();
				});
			};			
		},
		//查找下一个的下一个...没有评论的商品
		findNotCommentBox:function(curIndex){
			var _this_=this;
			this.comBoxItems.each(function(i,o){
				if(i>curIndex){
					var toggleBtn=$(this).find("a.toggle-comment-btn");
					if(!toggleBtn.attr("data-comment-id")){
						_this_.toggleComBox(toggleBtn,this);
						return false;
					};
					
				};
			});
			
		},
		// 点赞
		veryGood : function(zanBox) {	
			if(!$(zanBox).hasClass("not-zan")){	
				// 获取要赞的产品id
				var dataID = $(zanBox).attr("data-id");
				if($(zanBox).attr("data-iszan")=="yes"){
					// 累加数量
					var l=Number($("span", zanBox).text());
					$("span", zanBox).text(--l);
					$(zanBox).parent().toggleClass("zan-red-wrap");
					$(zanBox).attr("data-iszan","no");
				}else{
					// 累加数量
					var l=Number($("span", zanBox).text());
					$("span", zanBox).text(++l);
					$(zanBox).parent().toggleClass("zan-red-wrap");
					$(zanBox).attr("data-iszan","yes");	
				};
			};
		},
		//插入已有的评论
		insertCommentItems:function(ret,curComBox){
			$(curComBox).append(ret);	
		},
		//加载已有评论
		loadCommentItems:function(toggleButton,commentID,curComBox){
			var $this$=this;
			$.post("/front/remark/lookUpRemark.do",{random:Math.random,remarkId:commentID},function(ret){
				try{
					var str=$.parseJSON(ret);
				
					if(ret.ret == -2){
						window.location.href = "/login.do?toUrl=/front/remark/centerRemarkList.do";
					}else{
						var d = new Dialog({
							type : "alert",
							height:130,
							text : "提示信息",
							tipsText :str.msg,
							buttonSureText : "知道啦",
							mask : 0.3,
							isDrag : true
						});
					}
				}catch(e){
					$this$.insertCommentItems(ret,curComBox);
					$(toggleButton).data("isopen",true);
				};
			});
		},
		// 展开关闭评论
		toggleComBox : function(toggleButton, curComBox) {
			var commentID=$(toggleButton).attr("data-comment-id");
			if(commentID){
				if(!$(toggleButton).data("isopen")){
					this.loadCommentItems(toggleButton,commentID,curComBox);
				};
				// 找到评论框或评论列表矿
				$("div.comment-area-wrap", curComBox).toggleClass("comment-area-wrap-show");
				$("div.comment-box", curComBox).toggleClass("comment-box-show");
				// 改变箭头方向
				$("s", toggleButton).toggleClass("toggle");
				// 关闭其他评论框
				$(curComBox).siblings().find("div.comment-area-wrap").removeClass(
				"comment-area-wrap-show");
				$(curComBox).siblings().find("div.comment-box").removeClass("comment-box-show");
			}else{
				// 找到评论框或评论列表矿
				$("div.comment-area-wrap", curComBox).toggleClass("comment-area-wrap-show");
				$("div.comment-box", curComBox).toggleClass("comment-box-show");
				// 改变箭头方向
				$("s", toggleButton).toggleClass("toggle");
				// 关闭其他评论框
				$(curComBox).siblings().find("div.comment-area-wrap").removeClass("comment-area-wrap-show");
				$(curComBox).siblings().find("div.comment-box").removeClass("comment-box-show");
			};
		}

	};

	// 创建功能评论体系
	var vipCenterComment = new VipCenterComment(document.getElementById("J_CommentBox"));
});